package org.jeecg.modules.basic.attendance.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 考勤记录
 * @Author: jeecg-boot
 * @Date:   2024-06-03
 * @Version: V1.0
 */
@Data
@TableName("lwgy_inout_attendance")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="lwgy_inout_attendance对象", description="考勤记录")
public class LwgyInoutAttendance implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**姓名*/
	@Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String studentName;
	/**学号*/
	@Excel(name = "学号", width = 15)
    @ApiModelProperty(value = "学号")
    private String studentNumber;
	/**校区*/
    @Excel(name = "校区", width = 15,dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @Dict(dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @ApiModelProperty(value = "校区")
    private String studentCampus;
	/**院系*/
    @Excel(name = "院系", width = 15,dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @Dict(dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @ApiModelProperty(value = "院系")
    private String studentCollege;
	/**专业*/
    @Excel(name = "专业", width = 15,dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @Dict(dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @ApiModelProperty(value = "专业")
    private String studentMajor;
	/**班级*/
    @Excel(name = "班级", width = 15,dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @Dict(dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @ApiModelProperty(value = "班级")
    private String studentClass;
	/**年级*/
    @Excel(name = "年级", width = 15,dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    @Dict(dictTable = "lwgy_base_school",dicCode = "id",dicText = "name")
    private String studentYear;
	/**住宿校区*/
    @Dict(dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "校区")
    private String campusId;
	/**楼宇*/
    @Excel(name = "楼宇", width = 15,dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @Dict(dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "楼宇")
    private String buildingId;
	/**单元*/
    @Excel(name = "单元", width = 15,dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @Dict(dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "单元")
    private String unitId;
	/**楼层*/
    @Excel(name = "楼层", width = 15,dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @Dict(dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "楼层")
    private String layerId;
	/**房间*/
    @Excel(name = "房间", width = 15,dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @Dict(dictTable = "lwgy_base_apartment", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "房间")
    private String roomId;
	/**考勤类型*/
	@Excel(name = "考勤类型", width = 15, dicCode = "signtype")
	@Dict(dicCode = "signtype")
    @ApiModelProperty(value = "考勤类型")
    private String signType;
	/**考勤位置*/
	@Excel(name = "考勤位置", width = 15)
    @ApiModelProperty(value = "考勤位置")
    private String position;
	/**考勤时间*/
	@Excel(name = "考勤时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "考勤时间")
    private Date signTime;
    /**考勤结果*/
    //每天凌晨定时器判断未回来的做未打卡
    @Excel(name = "考勤结果", width = 15, dicCode = "abnormal_inout2")
    @ApiModelProperty(value = "考勤结果")//
    @Dict(dicCode = "abnormal_inout2")
    private String signResult;
	/**考勤处理*/
	@Excel(name = "考勤处理", width = 15)
    @ApiModelProperty(value = "考勤处理")
    private String signHandle;
	/**照片*/
	@Excel(name = "照片", width = 15)
    @ApiModelProperty(value = "照片")
    private String photo;
}
